/* The following code example is taken from the book
 * "C++ Templates - The Complete Guide"
 * by David Vandevoorde and Nicolai M. Josuttis, Addison-Wesley, 2002
 *
 * (C) Copyright David Vandevoorde and Nicolai M. Josuttis 2002.
 * Permission to copy, use, modify, sell and distribute this software
 * is granted provided this copyright notice appears in all copies.
 * This software is provided "as is" without express or implied
 * warranty, and with no claim as to its suitability for any purpose.
 */
class MyClass {
  private:
    int value;
  public:
    friend bool operator < (MyClass const& x, MyClass const& y) {
        return x.value < y.value;
    }
    friend std::ostream& operator << (std::ostream& strm, MyClass const& x) {
        strm << x.value;
        return strm;
    }
};

